Automated employee self-service and payroll processing for charitable contributions

ABSTRACT

An automated system and method of payroll processing for charitable contributions. A self-service user interface prompts an operator to identify preferences for charitable projects. A charitable giving profile for the operator is generated from the preferences for charitable projects identified by the operator. Suggested charitable projects for the operator are identified using the charitable giving profile for the operator. Project information for the suggested charitable projects is displayed on the self-service user interface. Pay for the operator, including a donation of funds from the pay for the operator to the suggested charitable projects, is automatically processed. Funds from the pay for the operator are automatically distributed to the suggested charitable projects.

BACKGROUND INFORMATION

1. Field:

The present disclosure relates generally to automated human resourcemanagement and payroll processing systems and methods. Moreparticularly, the present disclosure relates to automated human resourcemanagement systems and methods including corporate social responsibilityfeatures for employee self-service making of charitable contributionsand payroll processing for distributing funds from employee pay tocharitable operations.

2. Background:

A human resources management system, HRMS, comprises softwareimplemented in a computer system that combines a number of systems andprocesses to facilitate the management of human resources, businessprocesses and data. A human resources management system also may bereferred to as a human resources information system, HRIS, or humancapital management, HCM.

A human resources management system may include automated payrollprocessing functions. Automated payroll processing automates the payprocess by gathering data on employee time and attendance, calculatingvarious deductions and taxes, and generating periodic payments toemployees, employee pay statements, and employee tax reports. Automatedpayroll processing can encompass employee pay-related transactions aswell as integrate with existing financial management systems.

A human resources management system also may provide employeeself-service, ESS, functions. Employee self-service functions provideemployees access to their personal records and details and may allowemployees to control certain aspects of their employment. It isdesirable that employee self-service functions include features thatallow employees to take more responsibility for their jobs anddevelopment.

Corporate social responsibility, CSR, is a type of private businessself-regulation that aims to contribute to societal goals of aphilanthropic, activist, or charitable nature. A common approach tocorporate social responsibility is corporate philanthropy. Corporatephilanthropy includes monetary donations and aid given to nonprofitorganizations and communities. Donations are made in areas such as thearts, education, housing, health, social welfare and the environment,among others. Businesses and other organizations desire to satisfycorporate social responsibility commitments effectively and efficiently.

Accordingly, it would be beneficial to have a method and apparatus thattake into account one or more of the issues discussed above as well aspossibly other issues.

SUMMARY

An embodiment of the present disclosure provides an automated method ofpayroll processing for charitable contributions. A self-service userinterface is displayed to prompt an operator to identify preferences forcharitable projects. The preferences for charitable projects identifiedby the operator are received via the self-service user interface. Acharitable giving profile for the operator is generated from thepreferences for charitable projects identified by the operator.Suggested charitable projects for the operator are identified using thecharitable giving profile for the operator. Project information for thesuggested charitable projects is displayed on the self-service userinterface. Pay for the operator, including a donation of funds from thepay for the operator to the suggested charitable projects, isautomatically processed.

Another embodiment of the present disclosure provides an automatedsystem for payroll processing of charitable contributions comprising auser interface generator, an input receiver, a charitable giving profilegenerator, a suggested charitable projects identifier, and a payrollprocessing system. The user interface generator is configured togenerate a self-service user interface for display on a display device.The self-service user interface is configured to prompt an operator toidentify preferences for charitable projects and includes a display ofproject information for suggested charitable projects for the operator.The input receiver is configured to receive the preferences forcharitable projects identified by the operator via the self-service userinterface. The charitable giving profile generator is configured togenerate a charitable giving profile for the operator from thepreferences for charitable projects identified by the operator. Thesuggested charitable projects identifier is configured to identify thesuggested charitable projects for the operator using the charitablegiving profile for the operator. The payroll processing system processespay for the operator including a donation of funds from the pay for theoperator to the suggested charitable projects.

Yet another embodiment of the present disclosure provides an automatedmethod of payroll processing for charitable contributions. Distributioninformation that identifies a distribution of funds donated from pay ofemployees of a plurality of organizations to a plurality of charitableoperations is generated. Pay for the employees of the plurality oforganizations, including the funds donated from the pay of theemployees, is automatically processed. The funds are received from theplurality of organizations. The funds are distributed to the pluralityof charitable operations using the distribution information.

The features and functions can be achieved independently in variousembodiments of the present disclosure or may be combined in yet otherembodiments in which further details can be seen with reference to thefollowing description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the illustrativeembodiments are set forth in the appended claims. The illustrativeembodiments, however, as well as a preferred mode of use, furtherobjectives and features thereof, will best be understood by reference tothe following detailed description of an illustrative embodiment of thepresent disclosure when read in conjunction with the accompanyingdrawings, wherein:

FIG. 1 is a pictorial representation of a network of data processingsystems in which illustrative embodiments may be implemented;

FIG. 2 is an illustration of a block diagram of a human resourcesmanagement system in accordance with an illustrative embodiment;

FIG. 3 is an illustration of a block diagram of a corporate socialresponsibility engine in accordance with an illustrative embodiment;

FIG. 4 is an illustration of a block diagram of money movement inaccordance with an illustrative embodiment;

FIG. 5 is an illustration of a self-service user interface in accordancewith an illustrative embodiment;

FIG. 6 is an illustration of a flowchart of a process of payrollprocessing for charitable contributions in accordance with anillustrative embodiment;

FIG. 7 is an illustration of a flowchart of a process for distributingfunds to charitable operations in accordance with an illustrativeembodiment; and

FIG. 8 is an illustration of a block diagram of a data processing systemin accordance with an illustrative embodiment.

DETAILED DESCRIPTION

The illustrative embodiments recognize and take into account one or moredifferent considerations. For example, the illustrative embodimentsrecognize and take into account that many businesses and otherorganizations are committed to corporate social responsibility. Suchbusinesses and other organizations would like to satisfy their corporatesocial responsibility commitments both effectively and efficiently.However, current systems and methods may not support the corporatesocial responsibility of organizations in a desired manner. For example,current human resource management systems do not provide desirablefeatures to support the corporate social responsibility efforts ofbusinesses and other organizations.

The illustrative embodiments also recognize and take into account thatthe corporate social responsibility commitments of an organization maybe satisfied, at least in part, by contributions of employees of theorganization to charitable operations. For example, it is desirable thatemployees are able to make contributions from their pay to charitableoperations, to thereby support the corporate social responsibility ofthe organization.

The illustrative embodiments also recognize and take into account thathuman resource management systems may provide various employeeself-service, automated payroll processing, and money movementfunctions. It is desirable that such functionality of human resourcemanagement systems may be leveraged in support of the corporate socialresponsibility of organizations. For example, it is desirable thatemployee self-service, automated payroll processing, and money movementfunctions of a human resource management system are configured tosupport the charitable donation of funds from employee pay to charitableactivities.

The illustrative embodiments provide an automated system and method foremployees to contribute from their pay to selected charitable projects.Illustrative embodiments provide an employee self-service user interfacethat allows employees to easily manage their contributions. Illustrativeembodiments provide automated payroll processing and money movement toautomatically withhold employee contributions from employee pay andensure the secure transfer of funds to the selected charitable projects.

Illustrative embodiments provide a self-service user interface thatallows an employee to create a charitable giving profile. The charitablegiving profile for an employee contains parameters that describe thefeatures of charitable projects of interest to the employee. Machinelearning may be used to automatically match an employee with charitableprojects by analyzing the charitable giving profile of the employee.Illustrative embodiments continuously learn from employee feedback toimprove matching results.

Illustrative embodiments provide automated payroll processing ofemployee pay, including employee contributions from pay to selectedcharitable projects. For example, automatic payroll processing inaccordance with an illustrative embodiment may be configured to includethe details of employee charitable contributions from pay on employeepay statements and to generate the appropriate bank files toautomatically withhold contributed funds from employee pay.

Illustrative embodiments also may provide automated money movement offunds contributed by employees of organizations to charitable projects.Money movement in accordance with illustrative embodiments may beconfigured to consolidate donations to a charitable project fromemployees in one or more organizations into a single efficient paymentto the charitable project.

Illustrative embodiments may be implemented in, or in association with,any appropriate human resources management or automated payrollprocessing system. Illustrative embodiments provide various benefits toboth organizations making charitable contributions and charitableprojects receiving the contributions. For example, illustrativeembodiments strengthen the corporate social responsibility position oforganizations by making it easier for employees of the organizations tomake and manage charitable contributions. Illustrative embodiments alsoreduce the overhead of distributing donated funds from employees tocharitable operations and of receiving donated funds by charitableoperations.

As used herein, the phrase “at least one of,” when used with a list ofitems, means different combinations of one or more of the listed itemsmay be used and only one of each item in the list may be needed. Inother words, “at least one of” means any combination of items and numberof items may be used from the list, but not all of the items in the listare required. The item may be a particular object, thing, or a category.

For example, without limitation, “at least one of item A, item B, oritem C” may include item A, item A and item B, or item B. This examplealso may include item A, item B, and item C or item B and item C. Ofcourse, any combinations of these items may be present. In someillustrative examples, “at least one of” may be, for example, withoutlimitation, two of item A, one of item B, and ten of item C; four ofitem B and seven of item C; or other suitable combinations.

As used herein, “a number of” when used with reference to items, meansone or more items. For example, “a number of different types ofnetworks” is one or more different types of networks.

With reference now to the figures and, in particular, with reference toFIG. 1, a pictorial representation of a network of data processingsystems is depicted in which illustrative embodiments may beimplemented. Network data processing system 100 is a network ofcomputers in which the illustrative embodiments may be implemented.Network data processing system 100 contains network 102, which is themedium used to provide communications links between various devices andcomputers connected together within network data processing system 100.Network 102 may include connections, such as wire, wirelesscommunication links, or fiber optic cables.

In the depicted example, server computer 104 and server computer 106connect to network 102 along with storage unit 108. In addition, clientdevices 110 connect to network 102. As depicted, client devices 110include client computer 112, client computer 114, and client computer116. Client devices 110 can be, for example, computers, workstations, ornetwork computers. In the depicted example, server computer 104 providesinformation, such as boot files, operating system images, andapplications to client devices 110. Further, client devices 110 can alsoinclude other types of client devices such as mobile phone 118, tabletcomputer 120, and smart glasses 122. In this illustrative example,server computer 104, server computer 106, storage unit 108, and clientdevices 110 are network devices that connect to network 102 in whichnetwork 102 is the communications media for these network devices. Someor all of client devices 110 may form an Internet of things (IoT) inwhich these physical devices can connect to network 102 and exchangeinformation with each other over network 102.

Client devices 110 are clients to server computer 104 in this example.Network data processing system 100 may include additional servercomputers, client computers, and other devices not shown. Client devices110 connect to network 102 utilizing at least one of wired, opticalfiber, or wireless connections.

Program code located in network data processing system 100 can be storedon a computer-recordable storage medium and downloaded to a dataprocessing system or other device for use. For example, program code canbe stored on a computer-recordable storage medium on server computer 104and downloaded to client devices 110 over network 102 for use on clientdevices 110.

Network data processing system 100 may be the Internet with network 102representing a worldwide collection of networks and gateways that usethe Transmission Control Protocol/Internet Protocol (TCP/IP) suite ofprotocols to communicate with one another. At the heart of the Internetis a backbone of high-speed data communication lines between major nodesor host computers consisting of thousands of commercial, governmental,educational, and other computer systems that route data and messages. Ofcourse, network data processing system 100 also may be implemented usinga number of different types of networks. For example, network 102 can becomprised of at least one of the Internet, an intranet, a local areanetwork (LAN), a metropolitan area network (MAN), or a wide area network(WAN). FIG. 1 is intended as an example, and not as an architecturallimitation for the different illustrative embodiments.

Turning to FIG. 2, an illustration of a block diagram of a humanresources management system is depicted in accordance with anillustrative embodiment. Human resources management system 200 may beimplemented in a computer system, such as network data processing system100 in FIG. 1.

In this illustrative example, human resources management system 200 isimplemented using computer system 202. Computer system 202 is a physicalhardware system and includes one or more data processing systems. Whenmore than one data processing system is present in computer system 202,those data processing systems are in communication with each other usinga communications medium. The communications medium can be a network. Thedata processing systems can be selected from at least one of a computer,a server computer, a tablet computer, or some other suitable dataprocessing system.

Human resources management system 200 may be operated by or fororganization 204. Organization 204 may be a business, non-profitorganization, government entity, educational institution, or any otherappropriate entity that has employees 206. For example, withoutlimitation, organization 204 may be a service provider that providessome or all of the functions of human resources management system 200for one or more other organizations.

Employees 206 includes individuals that work for organization 204,provide services to organization 204 under a contract or otheragreement, or otherwise may be associated with organization 204 suchthat organization 204 makes payments to such individuals. For purposesof this application, including the claims, employees 206 are not limitedto individuals that are considered employees under applicable law.

In accordance with an illustrative embodiment, human resourcesmanagement system 200 includes corporate social responsibility engine208, payroll processing system 210, and money movement system 212.Corporate social responsibility engine 208 is configured to assistemployees 206 of organization 204 to make charitable contributions tocharitable projects 216.

Charitable projects 216 may include any non-profit or other entity thatmay be designated by organization 204 or employees 206 to receivecharitable contributions 214. Charitable projects 216 may perform goodworks in any appropriate field or area. For example, without limitation,charitable projects 216 may operate in areas such as the arts,education, housing, health, social welfare and the environment, andother appropriate areas.

Operator 218 may interact with corporate social responsibility engine208 via human resources front-end 220. Corporate social responsibilityengine 208 may be configured to generate appropriate user interfaces foroperator 218 to interact with corporate social responsibility engine208.

For example, without limitation, corporate social responsibility engine208 may be configured to generate administrator user interface 222 andself-service user interface 234. Administrator user interface 222 may beused by administrator 226 to control various operations of corporatesocial responsibility engine 208, payroll processing system 210, ormoney movement system 212. Administrator 226 may be any appropriateoperator 218 with the appropriate authority to control operation ofhuman resources management system 200 or parts thereof. Self-serviceuser interface 224 may be used by employee 228 to make and managecharitable donations 214 to charitable projects 216. Employee 228 may beany appropriate operator 218 who is one of employees 206 of organization204. Functionality of administrator user interface 222 and self-serviceuser interface 224 in accordance with an illustrative embodiment will bedescribed in more detail below with reference to FIG. 3.

Administrator user interface 222 and self-service user interface 224 maybe presented to operator 218 on any appropriate display device 230 andmay receive input from operator 218 using any appropriate input device232. Display device 230 and input device 232 may include any appropriatedevices that may be configured to allow operator 218 to interact withadministrator user interface 222 or self-service user interface 224. Insome cases, display device 230 and input device 232 may be combined inone device, such as a touch screen display. For example, withoutlimitation, display device 230 and input device 232 may be implementedas one of client devices 110 in network data processing system 100 inFIG. 1.

Payroll processing system 210 is configured to process automatically pay234 for employees 206, including charitable donations 214 made byemployees 206 from pay 234 using self-service user interface 234.Payroll processing system 210 may be configured to perform automaticallyany appropriate payroll processing functions. For example, withoutlimitation, payroll processing system 210 may automatically generatepayslips 236, bank file 238, and annual salary review 240 for employees206. Payslips 236 may include a specification of charitable donations214 from pay 234 that are made by employees 206 using self-service userinterface 234. Bank file 238 may include pay-out instructions to afinancial institution for payment of funds from pay 234 to employees 206and charitable projects 216. Annual salary review 240 may include areport of the total charitable donations 214 made by employee 228 over ayear, which may be used for tax reduction in some countries.

Money movement system 212 may be configured to distribute fundscontributed from pay 234 of employees 206 of organization 204 usingself-service user interface 234 to charitable projects 216. A detaileddescription of money movement system 212 in accordance with anillustrative embodiment is presented below with reference to FIG. 3.

Turning to FIG. 3, an illustration of a block diagram of a corporatesocial responsibility engine is depicted in accordance with anillustrative embodiment. Corporate social responsibility engine 300 isan example of one implementation of corporate social responsibilityengine 208 in FIG. 2. Corporate social responsibility engine 300includes user interface generator 302, input receiver 304, charitablegiving profile generator 306, suggested charitable projects identifier306, achievements identifier 310, and corporate social responsibilityanalytics 312.

User interface generator 302 is configured to generate administratoruser interface 314 and self-service user interface 316. Administratoruser interface 314 is an example of one implementation of administratoruser interface 222 in FIG. 2. Self-service user interface 316 is anexample of one implementation of self-service user interface 224 in FIG.2. Input receiver 304 is configured to receive input from an operatorvia administrator user interface 314 and self-service user interface316.

Administrator user interface 314 may be configured to allow an operatorto control various operations of corporate social responsibility engine300. For example, without limitation, administrator user interface 314may include feature controls 318 that enable an operator to enable anddisable various features of corporate social responsibility engine 300at the organizational level. As another example, administrator userinterface 314 may be configured to allow an operator to performcharitable project filtering 320, whereby the operator may control thecharitable projects to which the employees of an organization maycontribute from their pay.

Self-service user interface 316 is configured to be used by an employeeoperator to make and manage charitable contributions from pay. Forexample, without limitation, self-service user interface 316 may includedonation amount interface 322. Donation amount interface 322 isconfigured to prompt an operator to select or enter donation amount 324.Donation amount 234 is any appropriate amount that the operator isdonating from pay to charitable projects. Donation amount interface 322also may prompt the operator to indicate how often donation amount 324is to be taken from pay for the charitable projects.

Self-service user interface 316 also prompts an operator to indicatepreferences for charitable operations. For example, preferences 326 maybe indicating by selecting how important various characteristics 328 ofcharitable operations are to the operator. Preferences 326 also may beindicated by keywords 330 entered by the operator.

Charitable giving profile generator 306 is configured to generatecharitable giving profile 332 for an operator based on preferences 326indicated by the operator. Suggested charitable projects identifier 308then identifies suggested charitable projects 334 for the operator bysearching project information 336 for charitable projects that matchcharitable giving profile 332 for the operator. For example, withoutlimitation, suggested charitable projects identifier 306 may use machinelearning 338 to identify suggested charitable projects 334 usingcharitable giving profile 332. Suggested charitable projects 334identified by suggested charitable projects identifier 308 may bedisplayed on self-service user interface 316.

Suggested charitable projects identifier also may determine distribution342 of donation amount 324 among suggested charitable projects 334.Distribution 342 may be indicated by any appropriate distributionindicator 344 on self-service user interface 316.

Suggested charitable projects identifier 308 also may be configured todetermine how well suggested charitable projects 334 presented onself-service user interface 316 match charitable giving profile 332 foran operator. Any appropriate project match indicator 340 may bedisplayed on self-service user interface 316 to indicate how wellsuggested charitable projects 334 presented on self-service userinterface 316 match charitable giving profile 332 for an operator.

Remove suggested project control element 346 may be provided onself-service user interface 316 for each of suggested charitableprojects 334 displayed on self-service user interface. An operator mayselect remove suggested project control element 346 for one of thedisplayed suggested charitable projects 334 that the operator does notlike. In this case, suggested charitable projects identifier 308 willidentify another suggested charitable project to present on self-serviceuser interface 316. This feedback from the operator may also be used toimprove future selections of suggested charitable projects 334 bysuggested charitable projects identifier 308.

Achievements identifier 310 is configured to determine whether donationamount 324 is greater than threshold amount 348. In response to adetermination that donation amount 324 is greater than threshold amount348, an appropriate achievement indicator 350 may be displayed onself-service user interface 316.

Corporate social responsibility analytics 312 is configured to generatecorporate social responsibility analytics report 352. Corporate socialresponsibility analytics report 352 may include organizational levelinformation regarding the charitable contributions of the employees ofan organization. Corporate social responsibility analytics report 352also may include information regarding the charitable contributions ofemployees of several organizations.

Turning to FIG. 4, an illustration of a block diagram of money movementis depicted in accordance with an illustrative embodiment. Moneymovement system 400 is an example of one implementation of moneymovement system 212 in FIG. 2.

Money movement system 400 is configured to receive distributioninformation 402 from corporate social responsibility engine 404.Distribution information 402 identifies the distribution of charitabledonations from employees of organizations 406 to charitable projects408. For example, organizations 406 may include organization 410 havingemployees 416, organization 412 having employees 418, and organization414 having employees 420.

Organization funds 422 are the total funds donated by employees 416 oforganization 410. Organization funds 424 are the total funds donated byemployees 418 of organization 412. Organization funds 426 are the totalfunds donated by employees of organization 414. In accordance with anillustrative embodiment, money movement system 400 is configured toreceive organization funds 422, organization funds 424, and organizationfunds 426 and to hold the received funds in holding account 428 as totalfunds 430.

Money movement system 400 is configured to use distribution information402 to distribute total funds 430 to charitable projects 408. In thisexample, charitable project funds 438 are delivered to charitableproject 432, charitable project funds 440 are delivered to charitableproject 434, and charitable project funds 442 are delivered tocharitable project 436.

The illustration of the different components in FIGS. 2-4 is not meantto imply physical or architectural limitations to the manner in which anillustrative embodiment may be implemented. Other components in additionto or in place of the ones illustrated may be used. Some components maybe unnecessary. Also, the blocks are presented to illustrate somefunctional components. One or more of these blocks may be combined,divided, or combined and divided into different blocks when implementedin an illustrative embodiment.

Turning to FIG. 5, an illustration of a self-service user interface isdepicted in accordance with an illustrative embodiment. Self-serviceuser interface 500 is an example of one implementation of self-serviceuser interface 224 in FIG. 2 and self-service user interface 316 in FIG.3.

In this example, donation amount interface 502 prompts an operator toselect or enter a donation amount. Virtual radio buttons allow theoperator to indicate whether the donation amount is a single donation504 or a recurring donation 506.

Self-service user interface 500 also prompts an operator to indicatepreferences 508 for charitable projects. In this example, preferences508 may be indicated by using virtual sliders 510 to indicate levels ofinterest in various characteristics 512 of charitable operations.Keyword box 514 allows the operator to enter keywords that describecharitable projects of interest to the operator.

Project information 516 for suggested projects is displayed inself-service user interface 500. Project match indicator 518 indicateshow well the displayed suggested projects match operator preferences asindicated in a charitable giving profile for the operator.

Distribution indictor 520 indicates the distribution of the donationamount among suggested charitable projects in a pie chart format. Thedistribution also is indicated by displaying a specific amount 522 to beprovided to each suggested charitable project.

Remove button 524 allows an operator to remove a displayed suggestedcharitable project to replace it with another suggested charitableproject.

Achievement indicator 526 indicates whether the amount of donations madeby an operator is greater than a threshold amount.

Selecting virtual button 528 by an operator saves the contributioninformation displayed in self-service user interface 500. Selectingvirtual button 528 allows the operator to reset the informationdisplayed in self-service user interface 500.

Turning to FIG. 6, an illustration of a flowchart of a process ofpayroll processing for charitable contributions is depicted inaccordance with an illustrative embodiment. Process 600 may beimplemented in corporate social responsibility engine 208 and payrollprocessing system 210 in FIG. 2.

Process 600 begins with prompting an operator to identify a donationamount and preferences for charitable projects (operation 602). Acharitable giving profile for the operator is then generated using thepreferences identified by the operator (operation 604). Suggestedcharitable projects and a distribution of the donation amount among thesuggested charitable projects is then identified for the operator usingthe charitable giving profile (operation 606). Project information andthe distribution for the suggested charitable projects is then displayedto the operator (operation 608).

It then may be determined whether the operator has indicated that adisplayed suggested charitable project should be removed (operation610). In response to a determination that a suggested project should beremoved, another suggested charitable project is identified to replacethe removed project (operation 612). Process 600 then returns tooperation 608, where project information and the distribution for thenew suggested charitable project is displayed.

In response to a determination at operation 610 that a suggestedcharitable project should not be removed, it may be determined how wellthe suggested charitable projects match the operation charitable givingprofile (operation 614). A match indicator indicating how well thesuggested charitable projects match the charitable giving profile thenmay be displayed (operation 616).

It then may be determined whether a donation amount by the operator isgreater than a threshold amount (operation 618). In response to adetermination that the donation amount is greater than the thresholdamount an achievement indicator is displayed (operation 620).

Pay for the operator, including the indicated donation to suggestedcharitable projects, is automatically processed (operation 622). Fundsfor the donations are distributed to the selected charitable projects(operation 624), with the process terminating thereafter.

Turning to FIG. 7, an illustration of a flowchart of a process fordistributing funds to charitable operations is depicted in accordancewith an illustrative embodiment. Process 700 is an example of oneimplementation of operation 624 in process 600 in FIG. 6. Process 700may be implemented, for example, in money movement system 212 in FIG. 2.

Process 700 begins with receiving distribution information (operation702). The distribution information indicates the distribution ofcharitable contributions of employees from one or more organizations tovarious charitable operations. Funds from the organizations for thecharitable contributions are received (operation 704). The funds arethen distributed to the charitable operations using the distributioninformation (operation 706), with the process terminating thereafter.

The flowcharts and block diagrams in the different depicted embodimentsillustrate the architecture, functionality, and operation of somepossible implementations of apparatuses and methods in an illustrativeembodiment. In this regard, each block in the flowcharts or blockdiagrams may represent at least one of a module, a segment, a function,or a portion of an operation or step. For example, one or more of theblocks may be implemented as program code.

In some alternative implementations of an illustrative embodiment, thefunction or functions noted in the blocks may occur out of the ordernoted in the figures. For example, in some cases, two blocks shown insuccession may be performed substantially concurrently, or the blocksmay sometimes be performed in the reverse order, depending upon thefunctionality involved. Also, other blocks may be added, in addition tothe illustrated blocks, in a flowchart or block diagram.

Turning now to FIG. 8, an illustration of a block diagram of a dataprocessing system is depicted in accordance with an illustrativeembodiment. Data processing system 800 may be used to implement one ormore of server computer 104 in FIG. 1, server computer 106 in FIG. 1,client devices 110 in FIG. 1, human resources management system 200 inFIG. 2, and computer system 203 in FIG. 2. In this illustrative example,data processing system 800 includes communications framework 802, whichprovides communications between processor unit 804, memory 806,persistent storage 808, communications unit 810, input/output unit 812,and display 814. In this example, communications framework 802 may takethe form of a bus system.

Processor unit 804 serves to execute instructions for software that maybe loaded into memory 806. Processor unit 804 may be a number ofprocessors, a multi-processor core, or some other type of processor,depending on the particular implementation. In an embodiment, processorunit 804 comprises one or more conventional general purpose centralprocessing units (CPUs). In an alternate embodiment, processor unit 804comprises one or more graphical processing units (CPUs).

Memory 806 and persistent storage 808 are examples of storage devices816. A storage device is any piece of hardware that is capable ofstoring information, such as, for example, without limitation, at leastone of data, program code in functional form, or other suitableinformation either on a temporary basis, a permanent basis, or both on atemporary basis and a permanent basis. Storage devices 816 may also bereferred to as computer-readable storage devices in these illustrativeexamples. Memory 806, in these examples, may be, for example, a randomaccess memory or any other suitable volatile or non-volatile storagedevice. Persistent storage 808 may take various forms, depending on theparticular implementation.

For example, persistent storage 808 may contain one or more componentsor devices. For example, persistent storage 808 may be a hard drive, aflash memory, a rewritable optical disk, a rewritable magnetic tape, orsome combination of the above. The media used by persistent storage 808also may be removable. For example, a removable hard drive may be usedfor persistent storage 808.

Communications unit 810, in these illustrative examples, provides forcommunications with other data processing systems or devices. In theseillustrative examples, communications unit 810 is a network interfacecard.

Input/output unit 812 allows for input and output of data with otherdevices that may be connected to data processing system 800. Forexample, input/output unit 812 may provide a connection for user inputthrough at least one of a keyboard, a mouse, or some other suitableinput device. Further, input/output unit 812 may send output to aprinter. Display 814 provides a mechanism to display information to auser.

Instructions for at least one of the operating system, applications, orprograms may be located in storage devices 816, which are incommunication with processor unit 804 through communications framework802. The processes of the different embodiments may be performed byprocessor unit 804 using computer-implemented instructions, which may belocated in a memory, such as memory 806.

These instructions are referred to as program code, computer-usableprogram code, or computer-readable program code that may be read andexecuted by a processor in processor unit 804. The program code in thedifferent embodiments may be embodied on different physical orcomputer-readable storage media, such as memory 806 or persistentstorage 808.

Program code 818 is located in a functional form on computer-readablemedia 820 that is selectively removable and may be loaded onto ortransferred to data processing system 800 for execution by processorunit 804. Program code 818 and computer-readable media 820 form computerprogram product 822 in these illustrative examples. In one example,computer-readable media 820 may be computer-readable storage media 824or computer-readable signal media 826.

In these illustrative examples, computer-readable storage media 824 is aphysical or tangible storage device used to store program code 818rather than a medium that propagates or transmits program code 818.Alternatively, program code 818 may be transferred to data processingsystem 800 using computer-readable signal media 826.

Computer-readable signal media 826 may be, for example, a propagateddata signal containing program code 818. For example, computer-readablesignal media 826 may be at least one of an electromagnetic signal, anoptical signal, or any other suitable type of signal. These signals maybe transmitted over at least one of communications links, such aswireless communications links, optical fiber cable, coaxial cable, awire, or any other suitable type of communications link.

Further, as used herein, “computer-readable media 820” can be singularor plural. For example, program code 818 can be located incomputer-readable media 820 in the form of a single storage device orsystem. In another example, program code 818 can be located incomputer-readable media 820 that is distributed in multiple dataprocessing systems. In other words, some instructions in program code818 can be located in one data processing system while otherinstructions in program code 818 can be located in another dataprocessing system. For example, a portion of program code 818 can belocated in computer-readable media 820 in a server computer whileanother portion of program code 818 can be located in computer-readablemedia 820 located in a set of client computers.

The different components illustrated for data processing system 800 arenot meant to provide architectural limitations to the manner in whichdifferent embodiments may be implemented. The different illustrativeembodiments may be implemented in a data processing system includingcomponents in addition to or in place of those illustrated for dataprocessing system 800. Other components shown in FIG. 8 can be variedfrom the illustrative examples shown. The different embodiments may beimplemented using any hardware device or system capable of runningprogram code 818.

The description of the different illustrative embodiments has beenpresented for purposes of illustration and description and is notintended to be exhaustive or limited to the embodiments in the formdisclosed. The different illustrative examples describe components thatperform actions or operations. In an illustrative embodiment, acomponent may be configured to perform the action or operationdescribed. For example, the component may have a configuration or designfor a structure that provides the component an ability to perform theaction or operation that is described in the illustrative examples asbeing performed by the component.

Many modifications and variations will be apparent to those of ordinaryskill in the art. Further, different illustrative embodiments mayprovide different features as compared to other desirable embodiments.The embodiment or embodiments selected are chosen and described in orderto best explain the principles of the embodiments, the practicalapplication, and to enable others of ordinary skill in the art tounderstand the disclosure for various embodiments with variousmodifications as are suited to the particular use contemplated.

What is claimed is:
 1. An automated method of payroll processing forcharitable contributions, comprising: displaying, by a computer system,a self-service user interface configured to prompt an operator toidentify preferences for charitable projects; receiving, by the computersystem, the preferences for charitable projects identified by theoperator via the self-service user interface; generating, by thecomputer system, a charitable giving profile for the operator from thepreferences for charitable projects identified by the operator;identifying, by the computer system, suggested charitable projects forthe operator using the charitable giving profile for the operator;displaying, by the computer system, on the self-service user interface,project information for the suggested charitable projects; andautomatically processing, by the computer system, pay for the operatorincluding a donation of funds from the pay for the operator to thesuggested charitable projects.
 2. The method of claim 1, whereindisplaying the self-service user interface comprises displaying aplurality of virtual sliders comprising a virtual slider for eachcharacteristic of a charitable project in a plurality of characteristicsof charitable projects, wherein the operator is prompted to identify alevel of preference for each characteristic of a charitable project inthe plurality of characteristics of charitable projects using thecorresponding virtual slider for each characteristic of a charitableproject.
 3. The method of claim 1, wherein displaying the self-serviceuser interface comprises displaying a keyword box, wherein the operatoris prompted to enter keywords describing the preferences for charitableprojects in the keyword box.
 4. The method of claim 1 further comprisingusing machine learning to identify the suggested charitable projects forthe operator.
 5. The method of claim 1, further comprising: displaying,by the computer system, on the self-service user interface, a donationamount interface configured to prompt the operator to identify adonation amount; receiving, by the computer system, the donation amountidentified by the operator via the donation amount interface;determining, by the computer system, a distribution of the donationamount among the suggested charitable projects for the operator usingthe charitable giving profile for the operator; and displaying, by thecomputer system, on the self-service user interface, a fundsdistribution indicator that indicates the distribution of the donationamount among the suggested charitable projects for the operator.
 6. Themethod of claim 1 further comprising: determining, by the computersystem, how well the suggested charitable projects match the charitablegiving profile for the operator; and displaying, by the computer system,on the self-service user interface, a project match indicator thatindicates how well the suggested charitable projects match thecharitable giving profile for the operator.
 7. The method of claim 1further comprising: displaying, by the computer system, on theself-service user interface, a remove suggested project control elementfor each of the suggested charitable projects; in response to aselection of the remove suggested project control element for one of thesuggested charitable projects: stopping displaying, by the computersystem, the project information for the suggested charitable projectcorresponding to the remove suggested project control element selected;identifying, by the computer system, another suggested charitableproject for the operator using the charitable giving profile for theoperator; and displaying, by the computer system, on the self-serviceuser interface, project information for the other suggested charitableproject.
 8. The method of claim 1 further comprising: determining, bythe computer system, a donation amount by the operator; determining, bythe computer system, whether the donation amount by the operator isgreater than a threshold amount; and in response to a determination thatthe donation amount is greater than the threshold amount, displaying, bythe computer system, on the self-service user interface, an achievementindicator that indicates that the operator has achieved a level ofcharitable giving.
 9. The method of claim 1 further comprisingautomatically distributing, by the computer system, funds from the payfor the operator to the suggested charitable projects.
 10. An automatedsystem for payroll processing of charitable contributions, comprising: auser interface generator configured to generate a self-service userinterface for display on a display device, wherein the self-service userinterface is configured to prompt an operator to identify preferencesfor charitable projects and includes a display of project informationfor suggested charitable projects for the operator; an input receiverconfigured to receive the preferences for charitable projects identifiedby the operator via the self-service user interface; a charitable givingprofile generator configured to generate a charitable giving profile forthe operator from the preferences for charitable projects identified bythe operator; a suggested charitable projects identifier configured toidentify the suggested charitable projects for the operator using thecharitable giving profile for the operator; and a payroll processingsystem for processing pay for the operator including a donation of fundsfrom the pay for the operator to the suggested charitable projects. 11.The system of claim 10, wherein the user interface generator isconfigured to display, on the self-service user interface, a pluralityof virtual sliders comprising a virtual slider for each characteristicof a charitable project in a plurality of characteristics of charitableprojects, wherein the operator is prompted to identify a level ofpreference for each characteristic of a charitable project in theplurality of characteristics of charitable projects using thecorresponding virtual slider for each characteristic of a charitableproject.
 12. The system of claim 10, wherein the user interfacegenerator is configured to display, on the self-service user interface,a keyword box, wherein the operator is prompted to enter keywordsdescribing the preferences for charitable projects in the keyword box.13. The system of claim 10, wherein the suggested charitable projectsidentifier uses machine learning to identify the suggested charitableprojects for the operator.
 14. The system of claim 10, wherein: the userinterface generator is configured to display, on the self-service userinterface, a donation amount interface configured to prompt the operatorto identify a donation amount and a funds distribution indicator thatindicates a distribution of the donation amount among the suggestedcharitable projects for the operator; the input receiver is configuredto receive the donation amount identified by the operator via thedonation amount interface; and the suggested charitable projectsidentifier is configured to determine the distribution of the donationamount among the suggested charitable projects for the operator usingthe charitable giving profile for the operator.
 15. The system of claim10, wherein: the suggested charitable projects identifier is configuredto determine how well the suggested charitable projects match thecharitable giving profile for the operator; and the user interfacegenerator is configured to display, on the self-service user interface,a project match indicator that indicates how well the suggestedcharitable projects match the charitable giving profile for theoperator.
 16. The system of claim 10, wherein: the user interfacegenerator is configured to display, on the self-service user interface,a remove suggested project control element for each of the suggestedcharitable projects and, in response to a selection of the removesuggested project control element for one of the suggested charitableprojects, to stop displaying the project information for the suggestedcharitable project corresponding to the remove suggested project controlelement selected and to display, on the self-service user interface,project information for another suggested charitable project; and thesuggested charitable projects identifier is configured to, in responseto the selection of the remove suggested project control element,identify the other suggested charitable project for the operator usingthe charitable giving profile for the operator.
 17. The system of claim10 further comprising: an achievements calculator configured todetermine whether a donation amount by the operator is greater than athreshold amount; and wherein the user interface generator is configuredto display, on the self-service user interface, in response to adetermination that the donation amount is greater than the thresholdamount, an achievement indicator that indicates that the operator hasachieved a level of charitable giving.
 18. The system of claim 10further comprising a money movement system configured to distributefunds from the pay for the operator to the suggested charitableprojects.
 19. An automated method of payroll processing for charitablecontributions, comprising: generating distribution information, by acomputer system, wherein the distribution information identifies adistribution of funds donated from pay of employees of a plurality oforganizations to a plurality of charitable operations; automaticallyprocessing, by the computer system, the pay for the employees of theplurality of organizations including the funds donated from the pay ofthe employees; receiving the funds from the plurality of organizations;and distributing the funds, by the computer system, to the plurality ofcharitable operations using the distribution information.
 20. The methodof claim 19, wherein generating the distribution information comprises:for each employee of each of the plurality of organizations: displaying,by the computer system, a self-service user interface configured toprompt the employee to identify a donation amount and preferences forcharitable projects; receiving, by the computer system, the donationamount and the preferences for charitable projects identified by theemployee via the self-service user interface; generating, by thecomputer system, a charitable giving profile for the employee from thepreferences for charitable projects identified by the employee;identifying, by the computer system, suggested charitable projects forthe employee and a distribution of the donation amount among thesuggested charitable projects for the employee using the charitablegiving profile for the employee; and generating the distributioninformation, by the computer system, by combining the distribution ofthe donation amount among the suggested charitable projects for theemployees of the plurality of organizations.